package main

import (
	"fmt"
	"math/rand"
	"time"
)

func sort1(arr [20]int) [20]int {
	// 冒泡排序
	for i := 1; i < len(arr); i++ {
		count := 1
		for j := len(arr) - i; j > 0; j-- {
			// 比较
			if arr[count] < arr[count-1] {
				// 交换
				arr[count], arr[count-1] = arr[count-1], arr[count]
			}
			count++
		}
		var flag bool = true
		// 判断：两两比较，只要有一次后面的不大于前面的每一个数，就不是升序
		for i := 1; i < len(arr); i++ {
			for j := 0; j < i; j++ {
				if arr[i] < arr[j] {
					flag = false
					break
				}
			}
			// 如果不是升序，则退出外层循环
			if !flag {
				break
			}
		}
		if flag {
			break
		}
	}
	return arr
}
func getRandomArr(min int, max int) [20]int {
	rand.Seed(time.Now().Unix())
	var arr [20]int
	for i := 0; i < 20; i++ {
		arr[i] = rand.Intn(max-min) + min
	}
	return arr
}

func main() {
	arr := getRandomArr(0, 100)
	arr = sort1(arr)
	fmt.Println(arr)
}
